package outbound_task

import (
	"context"
	dto "git.mycaigou.com/gfyx/micro-gfyx-api/infrastructure/dto/market"
)

type OutboundTaskServiceIface interface {
	ImportCrowd(ctx context.Context, request *dto.TaskImportCrowdRequest) error
	HandleOutboundTaskCallback(ctx context.Context, callbackData *dto.CallBackData) error
	GetOutboundClueList(ctx context.Context, request *dto.GetOutboundClueListRequest) (*dto.GetOutboundClueListResponse, error)
	GetOutboundClueDetail(ctx context.Context, request *dto.GetOutboundClueDetailRequest) (*dto.GetOutboundClueDetailResponse, error)
	ExportTaskLog(ctx context.Context, request *dto.OutboundClueExportRequest) (*dto.ExcelExportResponse, error)
	CreateTask(ctx context.Context, companyId int64, userId int64, request *dto.CreateTaskRequest) (*dto.CreateTaskResponse, error)
	UpdateTask(ctx context.Context, companyId int64, userId int64, request *dto.UpdateTaskRequest) (*dto.UpdateTaskResponse, error)
	DeleteTask(ctx context.Context, companyId int64, userId int64, request *dto.DeleteTaskRequest) (*dto.DeleteTaskResponse, error)
	ExecuteTask(ctx context.Context, companyId int64, userId int64, request *dto.ExecuteTaskRequest) (*dto.ExecuteTaskResponse, error)
	GetTaskList(ctx context.Context, companyId int64, userId int64, request *dto.GetTaskListRequest) (*dto.GetTaskListResponse, error)
	GetTaskDetail(ctx context.Context, companyId int64, userId int64, request *dto.GetTaskDetailRequest) (*dto.GetTaskDetailResponse, error)
	GetUnStartCallList(ctx context.Context, companyId int64, userId int64, request *dto.GetUnStartCallListRequest) (*dto.GetUnStartCallListResponse, error)
	UpdateIntention(ctx context.Context, request *dto.UpdateIntentionRequest) (*dto.UpdateIntentionResponse, error)
	AuditOutboundClue(ctx context.Context, request *dto.AuditOutboundClueRequest) error
}
